home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
TPUG - Toronto PET Users Group
/
TPUG Users Group CD
/
TPUG Users Group CD.iso
/
AMIGA
/
AMICUS
/
AMICUS02.ADF
/
ABasicStuff
/
supersphere.bas
< prev
next >
Wrap
BASIC Source File
|
1989-05-30
|
3KB
|
98 lines
1000 ' SuperSphere Version 1.0 - - - - - 12/06/85
1100 ' By Kelly Kauffman
1200 '
1300 ' This program is derived from the original Atari 8-bit version,
1400 ' and the Amiga translation. The program runs considerably faster
1500 ' due to the extensive use of the "Circle" command, rather than
1600 ' putting points in arrays and drawing lines connecting them. The
1700 ' circles are also much rounder.
1800 '
1900 ' There is a bug in the "Circle" command that is demonstrated on the
2000 ' small "planets," at least that is when it is most noticeable. It
2100 ' jets out a bit (to alot) from the circle, leaving you with big-ole
2200 ' lines outside of your "planet." I can't figure out how to get rid
2300 ' of 'em, so if you do, please upload it so everyone can have your
2400 ' fix. Please leave my name on this, as I have worked VERY HARD in
2500 ' getting the formulas to work correctly....Thanx!!!
2600 '
2700 ' Hold down the left mouse button, while the program is running
2800 ' to exit. Make sure you hold it down---it may take a second.
2900 '
3000 '
3100 '
3200 '
3300 '
3400 '
3500 randomize -1
3600 screen 0,4
3700 rgb 0,0,0,0:rgb 15,0,0,0
3800 rgb 1,10,10,10
3900 rgb 3,15,6,0:rgb 9,0,0,15
4000 rgb 10,3,6,15:rgb 11,7,7,15
4100 rgb 12,12,0,14:rgb 13,15,2,14
4200 gosub 8700:gosub 8500
4300 scnclr
4400 peno 2
4500 a=2
4600 gosub 6500
4700 str=(hi/100)*5:a=int(rnd*14):for i=1 to 19
4800 a=a+1:if a>14 then a=2
4900 peno a
5000 hi=hi-str
5100 circle (x,y),wide,hi/wide
5200 next i
5300 return
5400 goto 6400
5500 str=(hi/100)*5
5600 a=int(rnd*14)
5700 for i=1 to 19
5800 a=a+1:if a>14 then a=2
5900 peno a
6000 hi=hi-str
6100 circle (x,y),hi,wide/hi
6200 next i
6300 return
6400 rem end
6500 rem
6600 wide=rnd*100
6700 x=rnd*385
6800 y=rnd*190
6900 hi=wide
7000 ask mouse x%,y%,b%:if b%=4 then 10400
7100 gosub 7600
7200 gosub 4700
7300 hi=wide
7400 gosub 5500
7500 goto 6500
7600 hig=hi
7700 hig=hi
7800 for i=1 to 100
7900 peno 0
8000 circle(x,y),wide,hig/wide
8100 hig=hig-1:if hig<1 then i=100
8200 next i
8300 pena 0:draw (x-wide,y to x+wide,y)
8400 return
8500 window 1,0,0,320,200,"SuperSphere V1.0 by Kelly Kauffman"
8600 cmd 1:return
8700 hi=180
8800 box (0,0;319,199),1
8900 x=151:y=90
9000 wide=180
9100 for i=1 to 100 step .5
9200 circle (x,y),wide,hi/wide
9300 a=a+1:if a>14 then a=2
9400 peno a
9500 pena a-1:outline 1:paint (x,y),1
9600 hi=hi-7
9700 if hi<1 then i=100
9800 next i
9900 drawmode 1:peno 1:pena 4:penb 2:graphic (1)
10000 ? at(100,80);inverse(1);" SuperSphere ";:penb 0:pena 9:? at(85,100);inverse(0);"by Kelly Kauffman"
10100 ask mouse x%,y%,b%
10200 if b%=0 then 10100
10300 return
10400 close
10500 screen 0,4,0
10600 end